home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / clipper / nannws36.zip / FALLGUY.PRG < prev    next >
Text File  |  1989-05-01  |  1KB  |  41 lines

  1. * Program: Fallguy.prg
  2. * Author:  Greg Lief
  3. * Version: Clipper Summer '87
  4. *
  5. * Placed into the Public Domain.
  6. *
  7. * Syntax:  Fallguy (<row>, <column>, <message>, [<delay>])
  8. *
  9. FUNCTION Fallguy
  10. PARAMETERS mrow, mcol, msg, delay
  11. IF PCOUNT() > 2           && First 3 parameters MUST be passed!
  12.    PRIVATE trow, tcol, save_it, hold_on
  13.    FOR tcol = mcol TO mcol + LEN(msg) - 1
  14.       IF SUBSTR(msg, tcol - mcol + 1, 1) != CHR(32)
  15.          FOR trow = 0 TO mrow
  16.             * Save screen coordinate about to be erased.
  17.             save_it = SAVESCREEN(trow, tcol, trow, tcol)
  18.             * Draw falling letter at that location.
  19.             @ trow, tcol SAY SUBSTR(msg, tcol - mcol + 1, 1)
  20.             IF PCOUNT() < 4      && Default: use sound
  21.                IF trow % 3 = 0   && only at every 3rd row.
  22.                   TONE(6000 - trow * 125, 1)
  23.                ENDIF
  24.             ELSE
  25.                FOR hold_on = 1 TO delay
  26.                NEXT
  27.             ENDIF
  28.             IF trow < mrow
  29.                * Restore affected portion of screen.
  30.                RESTSCREEN(trow, tcol, trow, tcol, save_it)
  31.             ENDIF
  32.          NEXT
  33.       ELSE                && No point in drawing a falling space.
  34.          @ mrow, tcol SAY CHR(32)
  35.       ENDIF
  36.    NEXT
  37. ENDIF
  38. RETURN(0)
  39.  
  40. * EOF: Fallguy.prg
  41.